
#pragma once

#ifndef _fmbErr
#define _fmbErr


namespace fm {
  namespace base {

/// <summary>
///   Error class to be thrown when exceptional situation occurs.
/// </summary>
class Err {
private:
  static const int BUF_SIZE = 50;
  char m_msg[BUF_SIZE];
public:
  Err(const char *msg);

  inline const char *msg() const { return m_msg; }
};


class ArrayErr : public Err {
public:
  ArrayErr(const char *msg);
};

  // end of namespace fm::base
  }
// end of namespace fm
}

#endif